We recently started to trim leading and trailing whitespace from
the search string, and not to trigger a search when the resulting
string was empty. However we still allow whitespace to trigger
type-ahead-find, so that the key focus is moved briefly to the
search entry and back to the stage, resulting in a disruptive
flickering of the entry.
Fix this by excluding whitespace from triggering type-ahead-find.
https://bugzilla.gnome.org/show_bug.cgi?id=694475
else
Main.overview.hide();
return true;
- } else if (Clutter.keysym_to_unicode(symbol) ||
- (symbol == Clutter.BackSpace && this._searchActive)) {
+ } else if (this._shouldTriggerSearch(symbol)) {
this.startSearch(event);
} else if (!this._searchActive) {
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
}
},
+ _shouldTriggerSearch: function(symbol) {
+ let unicode = Clutter.keysym_to_unicode(symbol);
+ if (unicode == 0)
+ return false;
+
+ if (getTermsForSearchString(String.fromCharCode(unicode)).length > 0)
+ return true;
+
+ return symbol == Clutter.BackSpace && this._searchActive;
+ },
+
startSearch: function(event) {
global.stage.set_key_focus(this._text);
this._text.event(event, true);